1单选某C语言程序中对数组变量b的声明为“intb[10][5];”,有一条for语句如下:for(
1单选某C语言程序中对数组变量b的声明为“intb[10][5];”,有一条for语句如下:for(i=0;i<10,i++)for(j=0;j<5;j++)sum+=b[i][j];假设执行到“sum+=b[i][j];”时,sum的值在EAX中,b[i][0]所在的地址在EDX中,j在ESI中,则“sum+=b[i][j];”所对应的指令(AT&T格式)可以是()。

A.addl0(%esi,%edx,4),%eax

B.addl0(%edx,%esi,4),%eax

C.addl0(%esi,%edx,2),%eax

D.addl0(%edx,%esi,2),%eax

2单选IA-32中指令“popl%ebp”的功能是()。

A.R[esp]←R[esp]-4,R[ebp]←M[R[esp]]

B.R[esp]←R[esp]+4,R[ebp]←M[R[esp]]

C.R[ebp]←M[R[esp]],R[esp]←R[esp]+4

D.R[ebp]←M[R[esp]],R[esp]←R[esp]-4

3单选IA-32中指令“movl8(%edx,%esi,4),%edx”的功能是()。

A.R[edx]←M[R[edx]+R[esi]*4+8]

B.R[edx]←M[R[esi]+R[edx]*4+8]

C.M[R[esi]+R[edx]*4+8]←R[edx]

D.M[R[edx]+R[esi]*4+8]←R[edx]

4单选设SignExt[x]表示对x符号扩展,ZeroExt[x]表示对x零扩展。IA-32中指令“movswl%cx,-20(%ebp)”的功能是()。

A.M[R[ebp]-20]←ZeroExt[R[cx]]

B.M[R[ebp]-20]←SignExt[R[cx]]

C.R[cx]←SignExt[M[R[ebp]-20]]

D.R[cx]←ZeroExt[M[R[ebp]-20]]

5单选假设R[ax]=FFE8H,R[bx]=7FE6H,执行指令“subw%bx,%ax”后,寄存器的内容和各标志的变化为()。

A.R[ax]=8002H,OF=1,SF=1,CF=0,ZF=0

B.R[bx]=8002H,OF=0,SF=1,CF=0,ZF=0

C.R[bx]=8002H,OF=1,SF=1,CF=0,ZF=0

D.R[ax]=8002H,OF=0,SF=1,CF=0,ZF=0

计算机系统基础(一):程序的表示、转换与链接

南京大学

军职在线答案

大学网课

«
»

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注